Skip to content

testmailxixi/java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Java 反序列化漏洞学习脑图

mindmap
  root((Java 反序列化漏洞))

    Day1 序列化基础
      Serializable 接口
      ObjectOutputStream
      ObjectInputStream
      魔数 AC ED
      类描述符/字段/句柄
      readObject / writeObject
      readResolve 回调
      transient 关键字
      动手: hexdump 看结构

    Day2 为什么是漏洞
      readObject 自动触发
      不需要显式调用
      Gadget Chain 概念
      危险接口
        InvocationHandler
        Transformer
        Comparator
        ScriptEngine
      只要类路径有危险类即可利用

    Day3 CC1 链
      Transformer 体系
        ConstantTransformer
        InvokerTransformer
        ChainedTransformer
      AnnotationInvocationHandler
        invoke 触发点
      LazyMap.get 中间节点
      动手: ysoserial 生成 payload
      动手: IDEA 单步调试
      动手: 手写 CC1 链

    Day4 更多 Gadget 链
      CC3: InstantiateTransformer
        绕过 CC1 修复
      CC6: HashMap/Hashtable
        不依赖 AnnotationInvocationHandler
        实战更稳定
      CommonsBeanutils1
        BeanComparator 触发
        无 CC 有 CB 时可用
      JRE8u20
        JDK 自身链
        无第三方库依赖
      动手: 逐个生成+调试

    Day5 实战利用与检测
      找入口点
        readObject / readUnshared
        XMLDecoder
        XStream
        Fastjson
        Jackson
        Hessian
      检测危险依赖
        commons-collections
        commons-beanutils
        spring-aop
        JdkDynamicAopProxy
      工具
        ysoserial
        marshalsec
        SerializationDumper
      绕 WAF
        类名混淆
        GZIP 压缩
        分块传输
      动手: 本地漏洞 demo 打通

    Day6 修复与防御
      白名单机制
        ObjectInputFilter JDK9+
        ValidatingObjectInputStream
      黑名单机制
        过滤危险类名
        不完整可被绕过
      禁用本地 Class
        重写 resolveClass
      替代方案
        JSON Jackson/Gson
        Protobuf
        禁用原生序列化

    Day7 实战复盘
      真实 CVE 分析
        CVE-2020-2555 WebLogic
        CVE-2015-7501 CommonsCollections
      阅读分析报告
      还原 gadget chain
      画漏洞思维导图
Loading

核心学习路径

Java 基础 → 序列化原理 → 理解自动触发 → CC1 链(第一条) → 更多链 → 实战利用 → 防御修复 → CVE 复盘

关键工具

工具 用途
ysoserial 生成各类 gadget payload
marshalsec 多种序列化格式利用
SerializationDumper dump 分析二进制结构
IDEA Debugger 单步跟踪调用链
hexdump 查看序列化原始字节

学习原则

  1. 调试 > 阅读 — 单步跟踪一遍比读十篇文章管用
  2. 手写 > 复制 — 自己手写 CC1 链才能真正理解
  3. 画图 > 记忆 — 每学一条链就画出调用图

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors